package ma.techit.pfe.agence.voyage.dao.implementation;

import java.util.List;

import org.springframework.stereotype.Repository;

import ma.techit.pfe.agence.voyage.dao.interfaces.ConsommateurDaoIn;
import ma.techit.pfe.agence.voyage.model.Administrateur;
import ma.techit.pfe.agence.voyage.model.Consommateur;
import ma.techit.pfe.agence.voyage.util.SessionFactoryHelper;

@Repository
public class ConsommateurDao extends SessionFactoryHelper implements ConsommateurDaoIn{

	public void save(Consommateur consommateur) {
		// TODO Auto-generated method stub
		getCurrentSession().save(consommateur);
		
	}

	public void update(Consommateur consommateur) {
		// TODO Auto-generated method stub
		getCurrentSession().update(consommateur);
		
	}

	public void delete(Long id) {
		// TODO Auto-generated method stub
		getCurrentSession().delete(findByID(id));
		
	}

	public Consommateur findByID(Long id) {
		// TODO Auto-generated method stub
		return (Consommateur) getCurrentSession()
				.createQuery("from Consommateur  where id = " + id).list()
				.get(0);
	}

	public List<Consommateur> findAll() {
		// TODO Auto-generated method stub
		return  getCurrentSession()
				.createQuery("from Consommateur ").list()
				;
	}

	public Consommateur authenticate(String login, String password) {
		// TODO Auto-generated method stub
		List fetchedUsers = getCurrentSession().createQuery(
				"from Consommateur where login ='" + login + "' and password ='"
						+ password + "'").list();
		return fetchedUsers.isEmpty() ? null : (Consommateur) fetchedUsers.get(0);
	}

}
